Method and system for long term monitoring of video assets

ABSTRACT

A method and system for test monitoring video assets provided by a multimedia content distribution network (MCDN) includes an expert test monitoring platform (ETMP) configured to emulate MCDN client systems at a facility of an MCDN service provider. The ETMP may be used to test monitor MCDN performance by acquiring a baseband video signal and performing a test operation. The test operation may involve determining if a video freeze event and/or an audio freeze event has occurred with respect to the baseband video signal. In one example, detection of both an audio and a video freeze event may determine a freeze event for an MHD. After a freeze event is detected, the MHD may be restarted. The freeze event may be logged as a result of the test operation. A predetermined network address may be sent a notification of the freeze alert.

BACKGROUND

1. Field of the Disclosure

The present disclosure relates to baseband video monitoring, and inparticular to test monitoring of baseband video assets.

2. Description of the Related Art

Users of a multimedia content distribution network (MCDN) may beprovided a wide range of video assets to select from. A service provideroperating the MCDN may be faced with various quality control issuesrelated to the video assets and the performance of MCDN equipment. In aconventional MCDN architecture, feedback about MCDN performance may onlybe available via information gleaned from user support requests and/orcostly support visits to user locations.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of selected elements of an embodiment of anMCDN;

FIG. 2 is a block diagram of selected elements of an embodiment of anexpert test monitoring platform (ETMP);

FIG. 3 is a block diagram of selected elements of an embodiment of amultimedia handling device (MHD);

FIG. 4 is a block diagram of selected elements of an embodiment of avideo asset;

FIG. 5 illustrates selected elements of an embodiment of an MCDN testmonitoring method;

FIG. 6 illustrates selected elements of an embodiment of an MCDN testmonitoring method; and

FIG. 7 is a block diagram of selected elements of an embodiment of anETMP configurator/executor.

DESCRIPTION OF THE EMBODIMENT(S)

In one aspect, a disclosed method for monitoring an output channel of anMCDN includes acquiring, at a predetermined frame rate, a selectedbaseband video signal output by an MHD configured as a terminal deviceof the MCDN, and selecting a current image and a next image in a seriesof frame images. The series of frame images may be generated accordingto the frame rate when the baseband video signal is acquired. When adifference between the next image and the current image is below a giventhreshold, the method may include detecting a video freeze eventassociated with the MHD. When the difference is above the giventhreshold, the method may include detecting that the MHD is notassociated with a freeze event.

In certain embodiments, the MHD may be one of a plurality of units undertest (UUT) at an ETMP facility. The baseband video signal may be routedfrom the MHD using a video matrix switch coupled to the plurality ofUUTs. The method may further include requesting, from an ETMP mastercontroller, access to the MHD as an active UUT, controlling powersupplied to the active UUT by sending a first network command to anetwork-based power controller. The method may also include selectingthe baseband video signal by sending a second network command togenerate a remote control signal instructing the active UUT to output anMCDN channel, and sending a third network command to the video matrixswitch to route the baseband video signal from the active UUT.

In particular embodiments, the method may also include acquiring, at apredetermined sampling rate, at least one audio track generated by theMHD and corresponding to the selected baseband video signal, while audiodata are generated according to the sampling rate. When a signal powerof a portion of the audio data corresponding to the current image andthe next image is below a given threshold, the method may furtherinclude detecting an audio freeze event associated with the MHD. Whenthe video freeze event and the audio freeze event are both detected, themethod may still further include sending a fourth network command topower down the MHD, sending a fifth network command to power up the MHD,and recording a freeze alert for the MHD, including recording anindication of the video freeze event and the audio freeze event. Themethod may then include waiting for a notification that, in response tothe fifth network command, the MHD is operating normally. The method mayalso include sending an electronic notification of the freeze alert to apredetermined network address.

In a further aspect, a disclosed computerized test system for testmonitoring output channels from an MCDN includes a processor coupled tofirst memory media and a network adapter accessible to the processor.The first memory media may include processor executable instructions toretrieve an ETMP test program from an ETMP database. The ETMP mayinclude a plurality of MHDs configured to output MCDN program channels,and an ETMP network coupled to the network adapter and the ETMPdatabase. The first memory media may further include processorexecutable instructions to execute the ETMP test program, and storerecorded results of the executed ETMP test program in the ETMP database.The ETMP test program may include instructions executable by theprocessor to select one of the plurality of MHDs, acquire, at apredetermined frame rate, a selected baseband video signal output by theselected MHD, and select a current image and a next image in a series offrame images. The series of frame images may be generated according tothe frame rate when the baseband video signal is acquired. When adifference between the next image and the current image is below a giventhreshold, the ETMP test program may include instructions executable bythe processor to register a video freeze event associated with the MHD.

In certain embodiments, the first memory media further include processorexecutable instructions to receive user input to generate a new ETMPtest program. The user input may include any one or more of: first inputassociated with the frame rate, second input associated with an MCDNchannel for selecting the baseband video signal, third input associatedwith the current image, fourth input associated with the next image,fifth input associated with the threshold, and sixth input associatedwith the video freeze event. The sixth input may specify a networkaddress for sending a notification of the video freeze event. The sixthinput may further specify logging an indication of the video freezeevent to the results of the ETMP test program.

In particular embodiments, the ETMP test program may further includeinstructions executable by a processor to acquire, at a predeterminedsampling rate, at least one audio track generated by the selected MHDand corresponding to the selected baseband video signal. Audio dataaccording to the sampling rate may be generated when the audio track isacquired. When a signal power of a portion of the audio datacorresponding to the current image and the next image is below a giventhreshold, the ETMP test program may include instructions executable bythe processor to register an audio freeze event associated with the MHD.The user input to generate the new ETMP test program may further includeany one or more of: seventh input associated with the predeterminedsampling rate, eighth input associated with a number of acquired audiotrack(s), ninth input associated with a duration of the portion of theaudio data, tenth input associated with the threshold, and eleventhinput associated with the audio freeze event. When both the video freezeevent and the audio freeze event are registered, the ETMP test programmay further include instructions executable by the processor to powerdown the MHD, power up the MHD, and include a freeze alert for the MHDin the ETMP results, including recording an indication of the videofreeze event and the audio freeze event.

In yet another aspect, an ETMP for test monitoring output channels froman MCDN includes a plurality of MHDs configured as selectable UUTs andconfigured to output MCDN channels, and at least one ETMP executorconfigured to execute predetermined ETMP test programs. The ETMP testprograms may include instructions executable to select one of theplurality of MHDs as a current UUT, acquire, at a predetermined framerate, a selected baseband video signal output by the current UUT, andselect a current image and a next image in a series of frame imagesgenerated according to the frame rate. When a difference between thenext image and the current image is below a given threshold, the ETMPtest program may also include instructions executable to register avideo freeze event associated with the UUT.

In some embodiments, the ETMP may further include at least one ETMPconfigurator configured to generate new ETMP test programs, an ETMPdatabase for storing ETMP test programs and test results, and an ETMPnetwork configured to connect the MHDs, the ETMP executor(s), the ETMPconfigurator(s), and the ETMP database. The ETMP may further include afirst means coupled to the ETMP network for controlling power suppliedto the selected UUT in response to receiving a network power controlcommand associated with the ETMP test program, a second means coupled tothe ETMP network for selecting an MCDN channel for the baseband videosignal in response to receiving a channel selection command associatedwith the ETMP test program, and a third means for routing a plurality ofbaseband video signals from the plurality of MHDs to the ETMPexecutor(s). The third means may be a video matrix switch coupled to theETMP network and configured to selectively switch the plurality ofbaseband signals to any one or more of a plurality of video grabberinputs associated with the ETMP executor(s), in response to receiving anetwork video switch command associated with the ETMP test program.

In given embodiments, the ETMP test program may further includeinstructions executable to acquire, at a predetermined sampling rate, atleast one audio track generated by the selected UUT and corresponding tothe selected baseband video signal. Audio data according to the samplingrate may be generated when the audio track is acquired. When a signalpower of a portion of the audio data corresponding to the current imageand the next image is below a given threshold, the ETMP test program mayfurther include instructions executable to register an audio freezeevent associated with the selected UUT. When both the video freeze eventand the audio freeze event are registered, the ETMP test program mayfurther include instructions executable to power down the selected UUT,power up the selected UUT, include a freeze alert for the selected UUTin the ETMP results, including recording an indication of the videofreeze event and the audio freeze event, and wait for a notificationthat, in response to powering up the selected UUT, the selected UUT isoperating normally.

In the following description, details are set forth by way of example tofacilitate discussion of the disclosed subject matter. It should beapparent to a person of ordinary skill in the field, however, that thedisclosed embodiments are exemplary and not exhaustive of all possibleembodiments.

Throughout this disclosure, a hyphenated form of a reference numeralrefers to a specific instance of an element and the un-hyphenated formof the reference numeral refers to the element generically orcollectively. Thus, for example, widget 12-1 refers to an instance of awidget class, which may be referred to collectively as widgets 12 andany one of which may be referred to generically as a widget 12.

Turning now to the drawings, FIG. 1 is a block diagram illustratingselected elements of an embodiment of an MCDN 100. Although multimediacontent is not limited to TV, video on demand (VOD), or pay-per-view(PPV) programs, the depicted embodiments of MCDN 100 and itscapabilities are primarily described herein with reference to thesetypes of multimedia content, which are interchangeably referred toherein as “multimedia content”, “multimedia content programs”,“multimedia programs” or, simply, “programs.”

The elements of MCDN 100 illustrated in FIG. 1 depict networkembodiments with functionality for delivering multimedia content to aset of one or more subscribers. It is noted that different embodimentsof MCDN 100 may include additional elements or systems (not shown inFIG. 1 for clarity) as desired for additional functionality, such asdata processing systems for billing, content management, customersupport, operational support, or other business applications.

As depicted in FIG. 1, MCDN 100 includes one or more clients 120 and aservice provider 121. Each client 120 may represent a differentsubscriber of MCDN 100. In FIG. 1, a plurality of n clients 120 isdepicted as client 120-1, client 120-2 to client 120-n, where n may be alarge number. Service provider 121 as depicted in FIG. 1 encompassesresources to acquire, process, and deliver programs to clients 120 viaaccess network 130. Such elements in FIG. 1 of service provider 121include content acquisition resources 180 connected to switching network140 via backbone network 175, as well as application server 150,database server 190, and content delivery server 160, also shownconnected to switching network 140.

Access network 130 demarcates clients 120 and service provider 121, andprovides at least one connection path between clients 120 and serviceprovider 121. In some embodiments, access network 130 is an Internetprotocol (IP) compliant network. In some embodiments, access network 130is, at least in part, a coaxial cable network. It is noted that in someembodiments of MCDN 100, access network 130 is owned and/or operated byservice provider 121. In other embodiments, a third party may own and/oroperate at least a portion of access network 130.

In IP-compliant embodiments of access network 130, access network 130may include a physical layer of unshielded twisted pair cables, fiberoptic cables, or a combination thereof. MCDN 100 may include digitalconnections between clients 120 and a node (see also FIG. 4) in accessnetwork 130 while fiber, cable or another broadband medium connectsservice provider resources to the node. In other embodiments, thebroadband cable may extend all the way to clients 120. In certainembodiments, fiber optic cables may be provided from the node in accessnetwork 130 to each individual client 120. The connections betweenaccess network 130 and clients 120 may include digital subscriber line(DSL) connections. In particular embodiments, the connections may beDSL-compliant twisted pair or another type of galvanic loop (see alsoFIG. 4).

As depicted in FIG. 1, switching network 140 provides connectivity forservice provider 121, and may be housed in a central office or otherfacility of service provider 121. Switching network 140 may providefirewall and routing functions to demarcate access network 130 from theresources of service provider 121. In embodiments that employDSL-compliant connections, switching network 140 and/or access network130 may include elements of a DSL access multiplexer (DSLAM) thatmultiplexes many subscriber DSLs to backbone network 175 (see also FIG.4).

In FIG. 1, backbone network 175 represents a private network including,as an example, a fiber based network to accommodate high data transferrates. Content acquisition resources 180 as depicted in FIG. 1 encompassthe acquisition of various types of content including broadcast content,other “live” content including national content feeds, and VOD content.

Thus, the content provided by service provider 121 encompassesmultimedia content that is scheduled in advance for viewing by clients120 via access network 130. Such multimedia content, also referred toherein as “scheduled programming,” may be selected using an electronicprogramming guide (EPG), such as EPG 316 described below with respect toFIG. 3. Accordingly, a user of MCDN 100 may be able to browse scheduledprogramming well in advance of the broadcast date and time. Somescheduled programs may be “regularly” scheduled programs, which recur atregular intervals or at the same periodic date and time (i.e., daily,weekly, monthly, etc.). Programs which are broadcast at short notice orinterrupt scheduled programs are referred to herein as “unscheduledprogramming.”

Acquired content is provided to content delivery server 160 via backbonenetwork 175 and switching network 140. Content may be delivered fromcontent delivery server 160 to clients 120 via switching network 140 andaccess network 130. Content may be compressed, encrypted, modulated,demodulated, and otherwise encoded or processed at content acquisitionresources 180, content delivery server 160, or both. Although FIG. 1depicts a single element encompassing acquisition of all content,different types of content may be acquired via different types ofacquisition resources. Similarly, although FIG. 1 depicts a singlecontent delivery server 160, different types of content may be deliveredby different servers. Moreover, embodiments of MCDN 100 may includecontent acquisition resources in regional offices that are connected toswitching network 140.

Although service provider 121 is depicted in FIG. 1 as having switchingnetwork 140 to which content acquisition resources 180, content deliveryserver 160, and application server 150 are connected, other embodimentsmay employ different switching networks for each of these functionalcomponents and may include additional functional components (notdepicted in FIG. 1) including, for example, operational subsystemsupport (OSS) resources.

FIG. 1 also illustrates application server 150 connected to switchingnetwork 140. As suggested by its name, application server 150 may hostor otherwise implement one or more applications for MCDN 100.Application server 150 may be any data processing system with associatedsoftware that provides applications for clients or users. Applicationserver 150 may provide services including multimedia content services,e.g., EPGs, digital video recording (DVR) services, VOD programs, PPVprograms, IPTV portals, digital rights management (DRM) servers,navigation/middleware servers, conditional access systems (CAS), andremote diagnostics, as examples.

Applications provided by application server 150 may be downloaded andhosted on other network resources including, for example, contentdelivery server 160, switching network 140, and/or on clients 120.Application server 150 is configured with a processor and storage media(not shown in FIG. 1) and is enabled to execute processor instructions,such as those included within a software application. As depicted inFIG. 1, application server 150 may be configured to include variousapplications (not shown in FIG. 1) that may provide functionality toclients 120.

Further depicted in FIG. 1 is database server 190, which provideshardware and software resources for data warehousing. Database server190 may communicate with other elements of the resources of serviceprovider 121, such as application server 150 or content delivery server160, in order to store and provide access to large volumes of data,information, or multimedia content. In some embodiments, database server190 includes a data warehousing application, accessible via switchingnetwork 140, that can be used to record and access structured data, suchas program or channel metadata for clients 120. Database server 190 mayalso store device information, such as identifiers for client 120, modelidentifiers for remote control devices, identifiers for peripheraldevices, etc.

Also shown in FIG. 1 is ETMP 170, which represents a facility for testmonitoring of output channels of MCDN 100. ETMP 170 may includeinfrastructure for emulating functionality associated with clients 120for the purpose of capturing and analyzing output video and/or audiosignals in order to test the performance and quality of video assetsprovided by MCDN 100 (see also FIG. 2).

It is noted that clients 120 may include network appliances collectivelyreferred to herein as customer premises equipment (CPE). In variousembodiments, CPE may include the following devices: a gateway (GW), anMHD (see also FIG. 3), and a display device (not shown in FIG. 1). Anycombination of the GW, the MHD, and the display device may be integratedinto a single physical device. Thus, for example, CPE might include asingle physical device that integrates the GW, MHD, and a displaydevice. As another example, an MHD may be integrated into a displaydevice, while the GW may be housed within a physically separate device.

The GW may provide connectivity for client 120 to access network 130.The GW may provide an interface and conversion function between accessnetwork 130 and a client-side local area network (LAN). The GW mayinclude elements of a conventional DSL or cable modem. In someembodiments, the GW may further include routing functionality forrouting multimedia content, conventional data content, or a combinationof both in compliance with IP or another network layer protocol. In someembodiments, the LAN may encompass or represent an IEEE 802.3 (Ethernet)LAN, an IEEE 802.11-type (WiFi) LAN, or a combination thereof. The GWmay still further include WiFi or another type of wireless access pointto extend the LAN to wireless-capable devices in proximity to the GW.The GW may also provide a firewall (not depicted) between clients 120and access network 130.

Clients 120 may further include a display device or, more simply, adisplay (not shown in FIG. 1). The display may be implemented as a TV, aliquid crystal display screen, a computer monitor, or the like. Thedisplay 126 may comply with a display standard for computer monitorsand/or television displays. Standards for computer monitors includeanalog standards such as video graphics array (VGA), extended graphicsarray (XGA), etc., or digital standards such as digital visual interface(DVI) and high definition multimedia interface (HDMI), among others. Atelevision display may comply with standards such as National TelevisionSystem Committee (NTSC), Phase Alternating Line (PAL), or anothersuitable standard. The display may include one or more integratedspeakers to play audio content.

Clients 120 may further include respective remote control (not shown inFIG. 1), which is configured to control the operation of MHD by means ofa user interface, such as EPG 316 (see FIG. 3) that may be displayed bythe display. The remote control of client 120 may be operable tocommunicate requests or commands wirelessly to the MHD using infrared(IR) or radio frequency (RF) signals. MHDs may also receive requests orcommands via buttons located on side panels of MHDs.

The MHD may be enabled and configured to process incoming multimediasignals to produce audio and visual signals suitable for delivery to thedisplay and any optional external speakers. Incoming multimedia signalsreceived by the MHD may be compressed and/or encrypted, digital oranalog, packetized for delivery over packet-switched embodiments ofaccess network 130 or modulated for delivery over cable-based accessnetworks. In some embodiments, the MHD may be implemented as astand-alone set top box suitable for use in a co-axial or IP-based MCDN.

Referring now to FIG. 2, a block diagram illustrating selected elementsof an embodiment of ETMP 170 is presented. In FIG. 2, ETMP network 240is shown providing communication links between various elements in ETMP170, as will now be described in detail. It is noted that ETMP network240 may also link ETMP 170 to switching network 140 (not shown in FIG.2, see FIG. 1). Also shown in FIG. 2 are UUTs 220, which may representsimilar elements as CPE associated with clients 120, as describedpreviously. In FIG. 1, UUT 220-1 and 220-2 are shown as two exemplaryinstances for clarity, while it will be understood that ETMP 170 mayinclude different numbers of UUT 220 in various embodiments. UUT 220 mayrepresent an embodiment of client 120 that is implemented in ETMP 170for the purposes of testing and analyzing output channels of MCDN 100.Accordingly, UUT 220 may provide similar functionality as client 120,but may omit certain elements that are not relevant for testing purposes(see also FIG. 3). For example, UUT 220 may not include a display. InFIG. 2, UUT 220-1 may include MHD 225-1 and GW 223-1, as describedpreviously (see also FIG. 3), while UUT 220-2 may include MHD 225-2 andGW 223-2.

As depicted in FIG. 2, network-based remote control 228 may represent ameans to generate remote control signals for reception by MHD 225.Network-based remote control 228 may be configured to receive networkcommands that are addressed to a specific remote control port (not shownin FIG. 2) associated with a particular MHD 225, such as MHD 225-1. Inthis manner, network-based remote control 228 may provide functionalityto emulate a remote control operated by a user of client 120 (see FIG.1). Network commands sent to network-based remote control 228 mayoriginate from a test operator of ETMP 170 or from an ETMP test programthat is configured to execute in an automated manner.

Also shown in FIG. 2, network-based power control 230 may represent ameans to control (i.e., switch) power to UUT 220, including to MHD 225,GW 223, and/or other elements. Network-based power control 230 may beconfigured to receive network commands that are addressed to a specificpower circuit associated with a particular UUT 220. In this manner,network-based power control 230 may provide programmable switchingcapability to power down and power up UUT 220 and associated elements.Network commands sent to network-based power control 230 may originatefrom a test operator of ETMP 170 or from an ETMP test program, as willbe described in detail below.

On the operational side of ETMP 170 in FIG. 2 are ETMPconfigurators/executors 260 and ETMP executors 270. A “configurator”refers to a module that allows an operator (not shown in FIG. 2) toperform individual test operations, generate test sequences, obtain testresults, and otherwise manually operate a test facility. An ETMPconfigurator is therefore specific to ETMP 170. An “executor” refers toa module that is configured to execute previously stored test sequences,also referred to as test programs, jobs, batch files, scripts, etc.,comprised of individual test operations or test instructions. An ETMPexecutor is specific to ETMP 170. ETMP configurators/executors 260represent configurator modules that are executable on a computing devicecoupled to ETMP 170, which also may include executor functionality. ETMPexecutors 270 represent executor modules that do not includeconfigurator functionality. ETMP 170 may include ETMPconfigurators/executors 260-1, 260-2 and so on, up to an arbitraryp-number of ETMP configurators/executors 260-p. ETMP 170 may includeETMP executors 270-1, 270-2 and so on, up to an arbitrary m-number ofETMP executors 270-m.

Additionally, in FIG. 2, video matrix switch 250 is shown providingconnectivity between MHDs 225 and ETMP configurators/executors 260 andETMP executors 270. Video matrix switch 250 may receive network commandsvia link 252 to ETMP network 240. Video matrix switch 250 may couple tooutput baseband video signals from MHD 225 via links 254. Specifically,video matrix switch 250 may receive an output signal from MHD 225-1 vialink 254-1 and from MHD 225-2 via link 254-2. Furthermore, video matrixswitch 250 may be coupled to inputs of ETMP configurators/executors 260via link 256-1 and to inputs of ETMP executors 270 via link 256-2. It isnoted that links 256 may represent multiple connections that form oneedge of a switching matrix, while links 254 represent another edge ofthe switching matrix.

Also shown in FIG. 2 is ETMP master controller 232, which represents afunctional module configured to manage access to resources of ETMP 170.ETMP master controller 232 may be configured to receive control requestsfor access to ETMP resources (such as UUTs 220 and associated elementsin ETMP 170) from ETMP configurators or executors. For example, ETMPexecutor 270-1 may send a control request for access to UUT 220-2 fromETMP master controller 232, which may then grant the control request andassign control to ETMP executor 270-1. Subsequent requests for access toUUT 220-2 may then be denied by ETMP master controller 232, so long asETMP executor 270-1 is assigned control of UUT 220-2. In certainembodiments, ETMP master controller 232 may take a priority of an ETMPtest program into consideration when granting control requests to accessETMP resources and may terminate a currently assigned controlrelationship in favor of a higher priority one. In one embodiment, ascheduled ETMP test program may be assigned to ETMP executor 270-2 whena scheduled start time approaches the current time. The scheduled ETMPtest program may be designated for UUT 220-2, which may be assigned forcontrol by ETMP configurator/executor 260-1. In such an instance, ETMPmaster controller 232 may be configured to reassign control of UUT 220-2to ETMP executor 270-2 and terminate the assignment of ETMPconfigurator/executor 260-1. A user of ETMP configurator/executor 260-1may be given a warning by ETMP master controller 232 that a scheduledtest is about to begin on UUT 220-2 and that a presently active testsession will soon be terminated.

Finally, in FIG. 2, ETMP database 234 may represent a repository fordata and information associated with ETMP 170. For example, ETMPdatabase 234 may store configuration information representing ETMPresources, including network addresses and connection information forUUTs 220, video matrix switch 250, ETMP configurators/executors 260,ETMP executors 270, network-based remote control 228 and network-basedpower control 230. In various embodiments, ETMP master controller 232may query ETMP database 234 for such information when managing controlrequests for ETMP resources. ETMP database 234 may further store ETMPtest programs, as well as results of executed ETMP test programs andtest operations. It is noted that various other elements in ETMP 170 maybe configured to access ETMP database 234, as desired.

In operation of ETMP 170, a user may access ETMP configurator/executor260-1 to perform test operations on UUT 220-1 (see also ETMP studioapplication 720 in FIG. 7). The user may first send a control request toETMP master controller 232 for access to UUT 220-1. After the controlrequest has been approved and access to UUT 220-1 has been assigned toETMP configurator/executor 260-1, ETMP configurator/executor 260-1 mayquery ETMP database 234 for network addresses and configurationinformation associated with UUT 220-1. Using a queried network address,the user may send a network command using ETMP configurator/executor260-1 to network-based power control 230 to power up UUT 220-1. ETMPconfigurator/executor 260-1 may also be used to send a network commandto network-based remote control 228 to select a particular video channelfor output by UUT 220-1 (i.e., MHD 225-1). ETMP configurator/executor260-1 may also be used to send a network command to video matrix switch250 to switch link 254-1 (an output from MHD 225-1) to an input of ETMPconfigurator/executor 260-1 via link 256-1. The input to ETMPconfigurator/executor 260-1 may be at signal grabber 326 (see FIGS. 3and 7), which may be configured to acquire a video and/or audio portionof the selected video channel that has been routed via video matrixswitch 250. The acquired audio/video may be used to perform a testoperation, which may generate a test result, as will be described indetail below. The user may also activate recording of test operationsperformed using ETMP configurator/executor 260-1. The recorded testoperations may be stored in ETMP database 234 as an ETMP test program,that may be retrieved at a later time and executed using ETMP executor270.

In given embodiments, the test operation may involve determining whetherthe video output has experienced a freeze event. The user may specifyone or more test criteria for the test operation. The test criteria mayinvolve testing for a dynamic or a static image, whereby a test may be anegative or a positive test. For example, a test criteria may specifywhether a difference between a current image and a next image in aseries of frame images is below a given threshold. Such a video testoperation may also be referred to as a “video check point.” The testoperation may also involve a test of an audio component of the selectedvideo channel for a freeze event. For example, acquired audio data maybe compared to a threshold value to generate an audio test result. Suchan audio test operation may be referred to as an “audio check point.”

It is noted that multiple video check points and/or audio check pointsfor a given MCDN channel may be configured by ETMP configurator/executor260. After an audio/video check point is performed, a result of thecheck point may be logged at ETMP database 234. Depending on the resultof the check point, a set of predetermined tasks may be performed whenthe check point fails or when the check point passes. A video checkpoint may further include various additional parameters, such as any oneor more of: a frame rate for the acquisition of the video images; aselection of an MCDN channel; a duration or other value indicating aseries of images; values for defining a current image and a next image;a type of video check point test or a video check point condition; avalue associated with a threshold; information associated with a videofreeze event; and a destination address for the video check pointresults. The value indicating the series of images may include inputspecifying a series of dynamic or static images. An audio check pointmay further include various additional parameters, such as any one ormore of: a sampling rate; a number of acquired audio tracks; a durationor other value indicating a portion of the audio data; a type of audiocheck point test or an audio check point condition; a value associatedwith a threshold; information associated with an audio freeze event; anda destination address (and/or other information) associated with theaudio check point results. The audio check point condition may furtherspecify at least one threshold for the audio data.

As examples, a static image video check point may include processinglive incoming video frames and comparing one or more of the incomingframes against a known targeted “Golden” region image to see if there isa match. In one case, the threshold for recognizing a match may be auser specified value from 0 (no similarity) to 1 (perfect match). Someimplementations may employ a threshold value of 0.95 for detecting amatch. A dynamic image video check point may refer to a process in whichlive incoming frames are processed to determine if the video is“flowing” or “freezing” by comparing a current frame to the next frameover a user specified duration of time. In one case, the check point mayinclude comparing the current frame to the next frame to determine if atest condition has been met. For instance, to check for video freeze,the user may specify a threshold also from 0 (no match) to 1 (perfectmatch) from one frame to the next. This threshold may then be used tocompare sequentially adjacent frames over a user specified duration,e.g., 10 seconds, to see if the images are the same. Using, as anexample, a threshold of 0.999, a test duration of approximately 10seconds, and a frame rate of 2 fps, there would have to be at least 20consecutive frames (2 fps*10) that are substantially identical(threshold greater than or equal to 0.999) before a freeze is indicated.For an audio detection check point, similar principles would apply. Inthe case of audio, left and right audio decibel values may be monitoredfor each video frame. The user in this case may specify audio decibelthresholds for the left and right audio levels for a specified period oftime to identify valid audio or the lack of it, i.e., audio cutoff or noaudio. For example, to detect an audio cutoff, one embodiment of anaudio check point test might specify left and right audio thresholdvalues of −60 dB. If the left and right audio monitored values exceedthe threshold for a specified duration, no audio cutoff is indicated.Other embodiments and implementations may employ audio and video checkpoints using different criteria including different threshold values,different durations, and so forth.

Referring now to FIG. 3, a block diagram illustrating selected elementsof an embodiment of UUT 220, including further details of MHD 225, ispresented. In FIG. 3, MHD 225 is shown as a functional component of UUT220 along with GW 223, which is shown receiving multimedia content 360from switching network 140. It is noted that UUT 220 may representfunctionality similar to that provided to clients 120 and, inparticular, may receive substantially the same multimedia content 360,as received by clients 120 (see FIG. 1). In this manner, UUT 220 mayserve as a realistic and accurate representation of clients 120 withinETMP 170 for test monitoring purposes, as described herein.

In the embodiment depicted in FIG. 3, MHD 225 includes processor 301coupled via shared bus 302 to storage media, collectively identified asmemory media 310. MHD 225, as depicted in FIG. 3, further includesnetwork adapter 320 that interfaces MHD 225 to switching network 140 viaGW 223 and through which MHD 225 receives multimedia content 360. GW 223is shown providing a bridge to switching network 140, and receivingmultimedia content 360 from switching network 140.

In embodiments suitable for use in IP-based content delivery networks,MHD 225, as depicted in FIG. 3, may include transport unit 330 thatassembles the payloads from a sequence or set of network packets into astream of multimedia content. In coaxial-based access networks, contentmay be delivered as a stream that is not packet-based and it may not benecessary in these embodiments to include transport unit 330. In aco-axial implementation, however, other tuning resources (not explicitlydepicted in FIG. 3) may be used to “filter” desired content from othercontent that is delivered over the coaxial medium simultaneously andthese tuners may be provided in MHD 225. The stream of multimediacontent received by transport unit 330 may include audio information andvideo information and transport unit 330 may parse or segregate the twoto generate video stream 332 and audio stream 334 as shown.

Video and audio streams 332 and 334, as output from transport unit 330,may include audio or video information that is compressed, encrypted, orboth. A decoder unit 340 is shown as receiving video and audio streams332 and 334 and generating native format video and audio streams 342 and344. Decoder 340 may employ any of various widely distributed videodecoding algorithms including any of the Motion Pictures Expert Group(MPEG) standards, or Windows Media Video (WMV) standards including WMV9, which has been standardized as Video Codec-1 (VC-1) by the Society ofMotion Picture and Television Engineers. Similarly decoder 340 mayemploy any of various audio decoding algorithms including Dolby®Digital, Digital Theatre System (DTS) Coherent Acoustics, and WindowsMedia Audio (WMA).

The native format video and audio streams 342 and 344 as shown in FIG. 3may be processed by encoders/digital-to-analog converters(encoders/DACs) 350 and 370 respectively to produce video and audiosignals 352 and 354 in a format compliant with a display, as mentionedpreviously. Since MHD 225 is configured for test monitoring within ETMP170, a display may be omitted from UUT 220. Video and audio signals 352and 354, which may be referred in aggregate to as the “baseband videosignal,” may represent analog signals, digital signals, or a combinationthereof, in different embodiments. In FIG. 3, video and audio signals352 and 354 are shown being ultimately routed to signal grabber 326 (seealso FIG. 7), which may be associated with ETMP configurator/executor260 and/or ETMP executor 270. The routing of video and audio signals 352and 354 may be accomplished using video matrix switch 250 (see FIG. 2),as described above.

Memory media 310 encompasses persistent and volatile media, fixed andremovable media, and magnetic and semiconductor media. Memory media 310is operable to store instructions, data, or both. Memory media 310 asshown may include sets or sequences of instructions and/or data, namely,an operating system 312, EPG 316, and MCDN application 318. Operatingsystem 312 may be a UNIX or UNIX-like operating system, a Windows®family operating system, or another suitable operating system. In someembodiments, memory media 310 is configured to store and executeinstructions provided as services to UUT 220 by application server 150,as mentioned previously. For example, MCDN application 318 may representa combination of various sources of multimedia content that have beencombined and generated as an output channel by application server 150(see also FIG. 4).

EPG 316 represents a guide to the multimedia content provided to UUT 220via MCDN 100, and may be output as an element of the user interface. Theuser interface may include a plurality of menu items arranged accordingto one or more menu layouts, which enable operation of MHD 225 using aremote control.

Local transceiver 308 represents an interface of MHD 225 forcommunicating with external devices, such as a remote control ornetwork-based remote control 228 (see FIG. 2). Local transceiver 308 mayprovide a mechanical interface for coupling to an external device, suchas a plug, socket, or other proximal adapter. In some cases, localtransceiver 308 is a wireless transceiver, configured to send andreceive IR or RF or other signals. In some implementations localtransceiver 308 receives IR or RF signals, but does not transmit IR orRF signals, i.e., local transceiver 308 may be a receiver. Localtransceiver 308 may be accessed by a remote control module (not shown inFIG. 3) for providing remote control functionality. In some embodiments,local transceiver 308 may include WiFi functionality.

Turning now to FIG. 4, a block diagram of selected elements of anembodiment of output video channel 400, representing a video assetassociated with MCDN 100, is depicted. Output video channel 400 may begenerated by MHD 225 in response to a receiving a channel selectioncommand, for example, via local transceiver 308 (see FIG. 3). Outputvideo channel 400 may include an image portion and a correspondinglysynchronized audio portion (not shown in FIG. 4). Output video channel400 may correspond to a multiview output generated by MCDN application318 (see FIG. 3). In the example implementation shown in FIG. 4, outputvideo channel 400 may comprise various video elements, including amultiview title bar, a main video, and several picture-in-picture (PiP)videos. Other video and image elements may be implemented in variousembodiments of MCDN application 318 and/or output video channel 400.

Output video channel 400 may be associated with one or more video checkpoints, as described above with respect to FIG. 2. A video check pointmay be associated with a portion of output video channel 400 or with theentire output video channel 400. As shown in FIG. 4, main video 402 mayrepresent a main video portion of output video channel 400, which mayalso be associated with the audio portion of output video channel 400.PiP video 404-1 may represent a first PiP portion of output videochannel 400. PiP video 404-2 may represent a second PiP portion ofoutput video channel 400. PiP video 404-3 may represent a third PiPportion of output video channel 400. A video freeze event may bedetected in any one or more of main video 402 or PiP videos 404. Anaudio freeze may be associated with a video freeze of main video 402. Invarious embodiments, different combinations of video freeze events andaudio freeze events may be specified (see also FIG. 5 for an exemplaryembodiment).

Turning now to FIG. 5, selected elements of an embodiment of a method500 for test monitoring of MCDN output channels are illustrated in flowchart form. In one embodiment, method 500 may be performed by ETMP 170(see FIGS. 1, 2). In particular, method 500 may represent an example ofan audio check point and a video check point, as described above. It isnoted that certain operations described in method 500 may be optional ormay be rearranged in different embodiments.

In method 500, a video signal is acquired as images at a predeterminedframe rate (operation 502). The images may be acquired as a series ofimages. An audio signal may be acquired as a left and a right audiochannel in synchronization with the acquired images (operation 504). Theaudio signal and the video signal may represent a baseband video signalgenerated by an MHD of an MCDN in response to a channel selection at theMHD. A current image and a next image may be selected to begin testmonitoring (operation 506). A difference between the next and currentimages may be determined (operation 508). A difference above a giventhreshold may indicate that the video signal is dynamic and/or that theMCDN output channel is being properly reproduced by MHD 225. A signalpower of a portion of the audio data corresponding to the current andnext images may be determined (operation 510). The signal power, forexample, may represent a root-mean-squared value for the signalintensity.

Next in method 500, a determination may be made whether a video freezeevent has occurred (operation 512). The determination in operation 512may be made in view of the difference determined in operation 508 withrespect to one or more threshold value(s). When the result of operation512 is NO, a video OK log may be generated (operation 514). When theresult of operation 512 is YES, a video freeze log may be generated(operation 516). The result in operations 514 and/or 516 may be loggedin ETMP database 234 (see FIG. 2). Next a determination may be madewhether an audio freeze event has occurred (operation 520). Thedetermination in operation 520 may be made in view of the signal powerdetermined in operation 508 with respect to one or more thresholdvalue(s). When the result of operation 520 is NO, an audio OK log may begenerated (operation 518). When the result of operation 520 is YES, thenan audio freeze log may be generated (operation 522). The result inoperations 518 and/or 522 may be logged in ETMP database 234 (see FIG.2). Further in method 500, a determination may be made, whether moreimages remain for processing (operation 524). When the result ofoperation 524 is NO, then completion of test monitoring may be logged(operation 526). When the result of operation 524 is YES, then method500 may loop back to operation 506, from where a next image may beselected. It is noted that yet another evaluation may be made in method500. When the result of operation 512 AND the result of operation 520are both YES (operation 527), then a freeze alert may be determined andpower may be cycled to a UUT (operation 528, see also FIG. 6). Thefreeze alert may indicate that an MHD included in the UUT is no longeroperating normally and should be restarted.

Turning now to FIG. 6, selected elements of an embodiment of method 528for test monitoring are illustrated in flow chart form. Method 528 mayrepresent one embodiment of operation 528 in method 500 (see FIG. 5). Itis noted that certain operations described in method 528 may be optionalor may be rearranged in different embodiments.

A network command to power down the UUT may be sent (operation 602).Then, a network command to power up the UUT may be sent (operation 604).The network commands in operation 602 and 604 may be sent tonetwork-based power control 230 (see FIG. 2). A freeze alert may berecorded in the test results, including an indication of the videofreeze event and the audio freeze event (operation 606). Method 528 maythen wait for a notification that the UUT is operating normally afterpower up (operation 608). The power up in operation 604, as well as thenotification in operation 608 may be associated with differentindividual elements included in the UUT, such as an MHD and a GW (seealso FIG. 3). Then, an email may be sent to a predetermined addressnotifying of the freeze alert (operation 610).

Referring now to FIG. 7, a block diagram illustrating selected elementsof an embodiment of ETMP configurator/executor 700 is presented. ETMPconfigurator/executor 700 may represent ETMP configurator/executor 260and/or ETMP executor 270 (see FIG. 2) in various embodiments. As shownin FIG. 2, multiple instances of ETMP configurator/executor 700 may beconfigured for use in conjunction with a given ETMP 170 facility. Theelements of ETMP configurator/executor 700 depicted in FIG. 7 may bephysically implemented as a single, self-contained device. In certainimplementations, ETMP configurator/executor 700 may alternatively beimplemented using a number of different devices that are physicallyseparated, but coupled together for centralized control. It is notedthat ETMP configurator/executor 700 may include additional components,such as a power supply and a cooling element, which have been omittedfrom FIG. 7 for clarity. As shown in FIG. 7, ETMP configurator/executor700 may operate in conjunction with ETMP 170 (see also FIGS. 1 and 3) toexecute the methods and operations described herein. In certainembodiments, ETMP configurator/executor 700 may represent a virtualizedcomputing environment, wherein certain elements depicted in FIG. 7 areshared or represent virtualized components.

In the embodiment depicted in FIG. 7, ETMP configurator/executor 700includes processor 701 coupled via shared bus 702 to storage mediacollectively identified as memory media 710. ETMP configurator/executor700, as depicted in FIG. 7, further includes network adapter 725 thatinterfaces ETMP configurator/executor 700 to a network (not shown inFIG. 7), such as ETMP network 240 (see FIG. 2). In embodiments suitablefor use with ETMP 170, ETMP configurator/executor 700, as depicted inFIG. 7, may include peripheral adapter 706, which provides connectivityfor the use of input device 708 and output device 709. Input device 708may represent a device for user input, such as a keyboard or a mouse, oreven a video camera. Output device 709 may represent a device forproviding signals or indications to a user, such as loudspeakers forgenerating audio signals.

ETMP configurator/executor 700 is shown in FIG. 7 including displayadapter 704 and further includes a display device or, more simply, adisplay 705. Display adapter 704 may interface shared bus 702, oranother bus, with an output port for one or more displays, such asdisplay 705. Display 705 may be implemented as a liquid crystal displayscreen, a computer monitor, a television or the like. Display 705 maycomply with a display standard for computer monitors and/or televisiondisplays. Standards for computer monitors include analog standards suchas VGA, XGA, etc., or digital standards such as DVI and HDMI, amongothers. A television display may comply with standards such as NTSC,PAL, or another suitable standard. Display 705 may include one or moreintegrated speakers to play audio content.

Memory media 710 encompasses persistent and volatile media, fixed andremovable media, and magnetic and semiconductor media. Memory media 710is operable to store instructions, data, or both. Memory media 710 asshown includes sets or sequences of instructions, namely, an operatingsystem 712, ETMP test program 714, frame images 716, audio data 718, andETMP studio application 720. Operating system 712 may be a UNIX orUNIX-like operating system, a Windows® family operating system, oranother suitable operating system. ETMP test program 714 may represent asequence of test operations, as described previously. ETMP test program714 may be generated using ETMP studio application 720, which mayprovide ETMP configurator functionality. ETMP test program 714 may alsobe executed using ETMP executor functionality. Frame images 716 mayrepresent image data stored when acquiring a baseband video signal usingsignal grabber 326. Audio data 718 may represent audio signals from anaudio portion of a baseband video signal acquired using signal grabber326.

To the maximum extent allowed by law, the scope of the presentdisclosure is to be determined by the broadest permissibleinterpretation of the following claims and their equivalents, and shallnot be restricted or limited to the specific embodiments described inthe foregoing detailed description.

1-20. (canceled)
 21. A method, comprising: obtaining a video signalincluding a series of frame images and corresponding audio data outputby a multimedia handling device operating as a terminal device of amultimedia content distribution network; recognizing a video freezeevent when a difference between two images in the series of frame imagesis less than a video threshold; recognizing an audio freeze event when asignal power of a portion of the audio data is below an audio threshold;and sending a command to the multimedia handling device responsive torecognizing an instance of the video freeze event coexisting with aninstance of the audio freeze event.
 22. The method of claim 21, furthercomprising: recognizing the absence of a video freeze event when thedifference between the two images is greater than the video threshold.23. The method of claim 21, wherein the video signal is received fromthe multimedia handling device via a video matrix switch coupled to aplurality of additional multimedia handling devices.
 24. The method ofclaim 23, further comprising: requesting a master controller coupled tothe video matrix switch for access to the multimedia handling device asan active unit under test; controlling, via the master controller, anaspect of the active unit under test wherein the aspect is selectedfrom: power supplied to the active unit under test; a channel for whichcontent associated with the video signal is selected; and a video matrixswitch routing of the video signal from the active unit under test. 25.The method of claim 21, wherein the command sent includes a power downcommand and wherein the method includes: sending a power up commandsubsequent to sending the power down command; and monitoring themultimedia handling device for an indication of normal operationsubsequent to sending of the power up command.
 26. The method of claim21, further comprising: notifying a predetermined network address of anoccurrence of a freeze event.
 27. A test monitor platform, comprising: aprocessor; a network adapter accessible to the processor; and a computerreadable storage medium, accessible to the processor, including storedinstructions that, when executed by the processor, cause the processorto perform operations including: obtaining a video signal including aseries of frame images and corresponding audio data output by amultimedia handling device operating as a terminal device of amultimedia content distribution network; recognizing a video freezeevent when a difference between two images in the series of frame imagesis less than a video threshold; recognizing an audio freeze event when asignal power of a portion of the audio data is below an audio threshold;and sending a command to the multimedia handling device responsive torecognizing an instance of the video freeze event coexisting with aninstance of the audio freeze event.
 28. The test monitor platform ofclaim 27, wherein the operations include sending a notification of anoccurrence of the video freeze event to a specified network address. 29.The test monitor platform of claim 27, wherein the operations includelogging an indication of an occurrence of the video freeze event to atest monitor database.
 30. The test monitor platform of claim 27,wherein the operations include: controlling a sampling rate of videosignal based on a sample rate input; controlling a number of audiotracks on which the audio data is based; setting the video thresholdbased on a video threshold input; and setting the audio threshold basedon an audio threshold input.
 31. The test monitor platform of claim 27,further comprising: power controller to control power supplied to theselected unit under test in response to receiving a network powercontrol command associated with the expert test monitor platform testprogram; a channel selector to select a multimedia content distributionnetwork channel for the baseband video signal in response to receiving achannel selection command associated with the expert test monitorplatform test program; and a video matrix switch to route a plurality ofbaseband video signals from the plurality of multimedia handling devicesto any of a plurality of video grabber inputs.
 32. A computer readablemedium including stored, processor-executable program instructions,which when executed by a processor, cause the processor to performoperations comprising: obtaining a video signal including a series offrame images and corresponding audio data output by a multimediahandling device operating as a terminal device of a multimedia contentdistribution network; recognizing a video freeze event when a differencebetween two images in the series of frame images is less than a videothreshold; recognizing an audio freeze event when a signal power of aportion of the audio data is below an audio threshold; and sending acommand to the multimedia handling device responsive to recognizing aninstance of the video freeze event coexisting with an instance of theaudio freeze event.
 33. The computer readable medium of claim 32,wherein the operations include: recognizing the absence of a videofreeze event when the difference between the two images is greater thanthe video threshold.
 34. The computer readable medium of claim 32,wherein the video signal is received from the multimedia handling devicevia a video matrix switch coupled to a plurality of additionalmultimedia handling devices.
 35. The computer readable medium of claim34, wherein the operations include: requesting a master controllercoupled to the video matrix switch for access to the multimedia handlingdevice as an active unit under test; controlling, via the mastercontroller, an aspect of the active unit under test wherein the aspectis selected from: power supplied to the active unit under test; achannel for which content associated with the video signal is selected;and a video matrix switch routing of the video signal from the activeunit under test.
 36. The computer readable medium of claim 32, whereinthe command sent includes a power down command and wherein theoperations include: sending a power up command subsequent to sending thepower down command; and monitoring the multimedia handling device for anindication of normal operation following the sending of the power upcommand.
 37. The computer readable medium of claim 32, wherein theoperations include: notifying a predetermined network address of anoccurrence of a freeze event.